﻿using CleanArchitecture.Infrastructure.Interfaces;
using System.ComponentModel;

namespace CleanArchitecture.Infrastructure.Entities.Settings
{
    /// <summary>
    /// Clientapp Base settings
    /// </summary>
    public class ClientSiteSettings : ISettings
    {
        /// <summary>
        /// Site name
        /// </summary>
        [DisplayName("站点名称")]
        public string WebsiteName { get; set; }

        /// <summary>
        /// Host url: if using vue frontsite,set hosturl and port for vue
        /// like http://localhost:8080
        /// </summary>
        [DisplayName("站点域名")]
        public string WebsiteHostUrl { get; set; }

        /// <summary>
        /// Gets and sets websitelogo for imageurl
        /// </summary>
        [DisplayName("站点Logo")]
        public string WebsiteLogo { get; set; }

        /// <summary>
        /// 工信部网站备案号
        /// </summary>
        [DisplayName("网站备案号")]
        public string WebsiteICP { get; set; }

        /// <summary>
        /// 公安局网站备案号
        /// </summary>
        [DisplayName("公安备案号")]
        public string WebsitePICP { get; set; }

        /// <summary>
        /// 网站版权信息 Copyright 支持Html
        /// </summary>
        [DisplayName("版权(支持Html)")]
        public string Copyright { get; set; }

        /// <summary>
        /// MetaTitle for seo
        /// </summary>
        [DisplayName("页面标题")]
        public string MetaTitle { get; set; }

        /// <summary>
        /// MetaKeywords for seo, A comma-separated list of available keywords 
        /// </summary>
        [DisplayName("页面关键字")]
        public string MetaKeywords { get; set; }

        /// <summary>
        /// MetaDescription for seo
        /// </summary>
        [DisplayName("页面描述")]
        public string MetaDescription { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether website is unuse
        /// </summary>
        [DisplayName("是否关闭网站")]
        public bool ShutdownWebsite { get; set; }

        /// <summary>
        /// 关闭网站原因
        /// </summary>
        [DisplayName("关闭原因")]
        public string ReasonforShutdown { get; set; }

        /// <summary>
        /// 公司信息-公司联系电话
        /// </summary>
        [DisplayName("公司电话")]
        public string CompanyInfo_Tel { get; set; }
        /// <summary>
        /// 公司信息-公司传真号码
        /// </summary>
        [DisplayName("传真号码")]
        public string CompanyInfo_Fax { get; set; }
        /// <summary>
        /// 公司信息-公司Email
        /// </summary>
        [DisplayName("联系邮箱")]
        public string CompanyInfo_Email { get; set; }
        /// <summary>
        /// 公司信息-公司地址
        /// </summary>
        [DisplayName("联系地址")]
        public string CompanyInfo_Address { get; set; }
        /// <summary>
        /// 公司信息-百度坐标地址
        /// </summary>
        [DisplayName("地址坐标")]
        public string CompanyInfo_MapPoint { get; set; }
        /// <summary>
        /// 公司信息-客服QQ
        /// </summary>
        [DisplayName("客服QQ")]
        public string CompanyInfo_QQ { get; set; }
        /// <summary>
        /// 第三方信息-微信二维码
        /// </summary>
        [DisplayName("微信二维码")]
        public string QRCode_Weixin { get; set; }
        /// <summary>
        /// 第三方信息-微博二维码
        /// </summary>
        [DisplayName("微博二维码")]
        public string QRCode_Weibo { get; set; }
    }

    public partial class ClientSitePCSettings : ClientSiteSettings
    {
        public ClientSitePCSettings() : base() { }
        public ClientSitePCSettings(ClientSiteSettings parent) : base() 
        {
            WebsiteName = parent.WebsiteName.Trim();
            WebsiteHostUrl = parent.WebsiteHostUrl.Trim();
            WebsiteLogo = parent.WebsiteLogo.Trim();
            WebsiteICP = parent.WebsiteICP.Trim();
            WebsitePICP = parent.WebsitePICP.Trim();
            Copyright = parent.Copyright.Trim();
            MetaTitle = parent.MetaTitle.Trim();
            MetaKeywords = parent.MetaKeywords.Trim();
            MetaDescription = parent.MetaDescription.Trim();
            ShutdownWebsite = parent.ShutdownWebsite;
            ReasonforShutdown = parent.ReasonforShutdown.Trim();
            CompanyInfo_Tel = parent.CompanyInfo_Tel.Trim();
            CompanyInfo_Fax = parent.CompanyInfo_Fax.Trim();
            CompanyInfo_Email = parent.CompanyInfo_Email.Trim();
            CompanyInfo_Address = parent.CompanyInfo_Address.Trim();
            CompanyInfo_MapPoint = parent.CompanyInfo_MapPoint.Trim();
            CompanyInfo_QQ = parent.CompanyInfo_QQ.Trim();
            QRCode_Weixin = parent.QRCode_Weixin.Trim();
            QRCode_Weibo = parent.QRCode_Weibo.Trim();
        }
    }

    public partial class ClientSiteMobileSettings : ClientSiteSettings
    {
        public ClientSiteMobileSettings() : base() { }
        public ClientSiteMobileSettings(ClientSiteSettings parent) : base() 
        {
            WebsiteName = parent.WebsiteName.Trim();
            WebsiteHostUrl = parent.WebsiteHostUrl.Trim();
            WebsiteLogo = parent.WebsiteLogo.Trim();
            WebsiteICP = parent.WebsiteICP.Trim();
            WebsitePICP = parent.WebsitePICP.Trim();
            Copyright = parent.Copyright.Trim();
            MetaTitle = parent.MetaTitle.Trim();
            MetaKeywords = parent.MetaKeywords.Trim();
            MetaDescription = parent.MetaDescription.Trim();
            ShutdownWebsite = parent.ShutdownWebsite;
            ReasonforShutdown = parent.ReasonforShutdown.Trim();
            CompanyInfo_Tel = parent.CompanyInfo_Tel.Trim();
            CompanyInfo_Fax = parent.CompanyInfo_Fax.Trim();
            CompanyInfo_Email = parent.CompanyInfo_Email.Trim();
            CompanyInfo_Address = parent.CompanyInfo_Address.Trim();
            CompanyInfo_MapPoint = parent.CompanyInfo_MapPoint.Trim();
            CompanyInfo_QQ = parent.CompanyInfo_QQ.Trim();
            QRCode_Weixin = parent.QRCode_Weixin.Trim();
            QRCode_Weibo = parent.QRCode_Weibo.Trim();
        }
    }
}
